package com.qwz.extend;
/**
* @Description: 支付工资的上下文，每个人的工资不同，支付方式也不同
* @Package com.qwz.extend.PaymentContent
* @author Qiuwuzhi
* @date 2019/12/25 14:48
* @version V1.0
*/
public class PaymentContent {
    /**
     * 应被支付工资的人员，用姓名代替
     */
    private String username;
    /**
     * 应被支付的工资金额
     */
    private double money;

    public PaymentContent(String username, double money, PayStrategy strategy) {
        this.username = username;
        this.money = money;
        this.strategy = strategy;
    }

    public String getUsername() {
        return username;
    }

    public double getMoney() {
        return money;
    }

    /**
     * 支付工资
     */
    public void payNow(){
        //使用客户端希望的支付策略来支付工资
        this.strategy.pay(this);
    }

    /**
     * 支付工资的方式的策略接口
     */
    private PayStrategy strategy;

}
